<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        /*
            递归函数：在函数内，自己调用自己的函数

            function fun() {
            
                fun() ;
            }

            递归函数的执行过程
                递进
                回归（回归条件）


            应用场景：
                多级菜单

            类型ID  类型名称    父类型ID
             1001    电器         null
             1002    服装         null

             1003    电脑         1001
             1004    鼠标         1001
             
             1005    衬衫         1002
             ..

            [{},{},{}]
        
        */


        // 计算 N 阶乘 
        // 5! = 5 * 4 * 3 * 2 * 1
        // 3! = 3 * 2 * 1
        function f(n) {
  
            // 回归条件 - 根据实际的需求
            if (n <= 1) {
                return 1;
            }
        
            return n * f(n - 1);
        };

        var r = f(3)
        console.log(r);
        

        
        

                


    </script>







</body>
</html>